package com.pe.rimac;

import com.pe.rimac.util.RSTextWatcher;

import android.database.sqlite.SQLiteCursor;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.EditText;
import android.widget.Spinner;

public class OcupanteModuloDatos3Activity extends BaseActivity {

	@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.vs_ocupante_mod_datos3);
        
        cargarListas();
        
        if(!ocupante.isNew())
        {
        	llenarFormulario();
        }
		
		cargarListeners();
        
    }

	private void llenarFormulario() {
		selectedSpinner(R.id.cmbTipoLicencia, ocupante.getLicencia().getTipo().getValor());
		selectedSpinner(R.id.cmbCondicionLicencia, ocupante.getLicencia().getCondicion().getValor());
		selectedSpinner(R.id.cmbClaseCategoria, ocupante.getLicencia().getClaseCategoria().getValor());
		setTextEditText(R.id.txtNroLicencia, ocupante.getLicencia().getNroLicencia());
		setTextEditText(R.id.txtOcuLicObs, ocupante.getLicencia().getObservacion());
		setTextEditText(R.id.txtFechaRevalidacion, dateFormat(ocupante.getLicencia().getFechaRevalidacion()));
		flagChekBox(R.id.chkLicenciaVencida, ocupante.getLicencia().isLicenciaVencida());
	}

	private void cargarListeners() {
		
		final Spinner spnOcuTipoLic = (Spinner) findViewById(R.id.cmbTipoLicencia);
		spnOcuTipoLic.setOnItemSelectedListener(this);
		
		final Spinner spnOcuCondicion = (Spinner) findViewById(R.id.cmbCondicionLicencia);
		spnOcuCondicion.setOnItemSelectedListener(this);
		
		final Spinner spnOcuLicClaseCat = (Spinner) findViewById(R.id.cmbClaseCategoria);
		spnOcuLicClaseCat.setOnItemSelectedListener(this);
		
		final EditText txtOcuLicNro = (EditText) findViewById(R.id.txtNroLicencia);
		txtOcuLicNro.addTextChangedListener(new RSTextWatcher(txtOcuLicNro, ocupante));
		
		final EditText txtOcuLicObs = (EditText) findViewById(R.id.txtOcuLicObs);
		txtOcuLicObs.addTextChangedListener(new RSTextWatcher(txtOcuLicObs, ocupante));
		
		final CheckBox chkOcuLicLicVenc = (CheckBox) findViewById(R.id.chkLicenciaVencida);
		chkOcuLicLicVenc.setOnCheckedChangeListener(this);
		
		final EditText txtFechaRevalidacion = (EditText) findViewById(R.id.txtFechaRevalidacion);
		txtFechaRevalidacion.addTextChangedListener(new RSTextWatcher(txtFechaRevalidacion, ocupante));
		txtFechaRevalidacion.setOnClickListener(this);
		setTxtDate(txtFechaRevalidacion);
		
	}

	private void cargarListas() {
		cargarTipoLicencia();
		cargarTipoCondicionLicencia();
		cargarTipoClaseCategoria();
	}

	private void cargarTipoLicencia() {
		cargarSpinner(R.id.cmbTipoLicencia, "TBL_TIPOLICENCIA", "TLICENCIA", "DTLICENCIA");
	}

	private void cargarTipoCondicionLicencia() {
		cargarSpinner(R.id.cmbCondicionLicencia, "TBL_CONDLICENCIA", "CONDLICENCIA", "DCONDLICENCIA");
	}

	private void cargarTipoClaseCategoria() {
		cargarSpinner(R.id.cmbClaseCategoria, "TBL_CATEGORIACLASES", "Categoria", "DCategoria");
	}

	@Override
	public void onItemSelected(AdapterView<?> parent, View view, int pos,
			long id) {
		SQLiteCursor item = (SQLiteCursor)parent.getItemAtPosition(pos);
		if (parent.getId() == R.id.cmbTipoLicencia) 
		{
			setBeanValorDescripcion(ocupante.getLicencia().getTipo(), item);
		}
		else if (parent.getId() == R.id.cmbCondicionLicencia) 
		{
			setBeanValorDescripcion(ocupante.getLicencia().getCondicion(), item);
		}
		else if (parent.getId() == R.id.cmbClaseCategoria) 
		{
			setBeanValorDescripcion(ocupante.getLicencia().getClaseCategoria(), item);
		}
	}

	@Override
	public void onNothingSelected(AdapterView<?> parent) {}

	@Override
	public void onClick(View v) {
		if(v.getId() == R.id.txtFechaRevalidacion)
		{
			showDialog(DATEPICKER_POPUP);			
		}		
	}
	
	@Override
	public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
		if(buttonView.getId() == R.id.chkLicenciaVencida)
		{
			ocupante.getLicencia().setLicenciaVencida(getFlagCheckBox((CheckBox)buttonView));
		}
	}
	
}
